package com.ruoyi.system.mapper;

import java.util.List;
import java.util.Map;

import com.ruoyi.system.domain.YyPatient;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * 患者Mapper接口
 *
 * @author ruoyi
 * @date 2025-03-24
 */
public interface YyPatientMapper
{
    /**
     * 查询患者
     *
     * @param patientId 患者主键
     * @return 患者
     */
    public YyPatient selectYyPatientByPatientId(Long patientId);

    /**
     * 查询患者列表
     *
     * @param yyPatient 患者
     * @return 患者集合
     */
    public List<YyPatient> selectYyPatientList(YyPatient yyPatient);

    /**
     * 新增患者
     *
     * @param yyPatient 患者
     * @return 结果
     */
    public int insertYyPatient(YyPatient yyPatient);

    /**
     * 修改患者
     *
     * @param yyPatient 患者
     * @return 结果
     */
    public int updateYyPatient(YyPatient yyPatient);

    /**
     * 删除患者
     *
     * @param patientId 患者主键
     * @return 结果
     */
    public int deleteYyPatientByPatientId(Long patientId);

    /**
     * 批量删除患者
     *
     * @param patientIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteYyPatientByPatientIds(String[] patientIds);

    @Select("select patient_id as patientId, phone_number as phoneNumber, name, id_card as idCard, gender, age, address, password,role from yy_patient where phone_number=#{phoneNumber} and password=#{password}")
    YyPatient getByUsernameAndPassword(@Param("phoneNumber") String phoneNumber, @Param("password") String password);

    @Select("select * from yy_patient where phone_number=#{phoneNumber}")
    YyPatient selectYyPatientByPhoneNumber(String phoneNumber);

    YyPatient selectByPatientId(long l);

    List<Map<String,Object>> selectByMe(long l);
}
